//能发送异步Ajax请求的函数模块
//封装axios库
//函数的返回值为promise对象
//统一处理请求异常 在外层包一个promise对象
//在请求出错后不eject而是提示错误信息
// 返回resolve(response.data)


import axios from "axios";
import {message} from "antd";

export default function ajax(url, data = {}, type = 'GET') {

    return new Promise((resolve) => {
        let promise;
        //执行Ajax请求
        if (type === 'GET ') {
            promise = axios.get(url, {    //配置对象
                params: data //指定请求参数
            })
        } else {
            promise = axios.post(url, data)
        }
        // 成功了，调用resolve(value)

        promise.then(response => {
            resolve(response.data)
        }).catch(err => {
            message.error('请求失败' + err.message)
        })
        //失败了，不调用reject(value)，而是提示异常信息
    })

}